#include <REGX52.H>
#include "Timer0.h" 
#include "key.h"
#include "LCD1602.h"
#include "Delay.h"
int Min=5,Max=25;//定义极值时长
unsigned char Counter,//计数器
              KeyNum,//按键值
              Compare=15;//占空比 7.5%
/**
 * 函    数：主函数
 * 参    数：无
 * 返 回 值：无
 */
void main()
{   
	Timer0_Init();	//初始化定时器 
	LCD_Init();			
	while(1)
	{
		//角度 = 180/(最大脉冲宽度 - 最小脉冲宽度)*(脉冲宽度 - 最小脉冲宽度)  
		LCD_ShowNum(1,1,(180/(Max-Min))*(Compare-Min),3);
		KeyNum=GetKey();
		if(KeyNum==1)
		{
			Compare-=1;
		}
		else if(KeyNum==2)
		{
			Compare+=1;
		}
		if(Compare<Min)Compare=Min;
		if(Compare>Max)Compare=Max;	
	}
}
/**
 * 函    数：定时器0中断函数
 * 参    数：无
 * 返 回 值：无
 */
void Timer0_Routine() interrupt 1
{
	TL0 = 0xB0;				//设置定时初始值  每0.1毫秒中断一次
	TH0 = 0xFF;				//设置定时初始值
	Counter++;
	Counter%=200;			//20ms的脉冲周期
	if(Counter>=Compare)
	{
		P2_0=0;//电机断电
	}
	else {
		P2_0=1;//电机通电
	}
}
